The invention relates generally to cross-point switches and in particular to arrays of cross-point switching arrays allowing for fault tolerance.
A cross-point switch provides for switching between various data lines. An example of a cross-point switch is given in FIG. 1, in which eight input lines A.sub.0 -A.sub.7 can each be selectively coupled to one of eight output lines B.sub.0 -B.sub.7. Here the input lines are connected to horizontal conduction paths and the output lines are connected to vertical conduction paths. At each intersection of a row and column there is placed a control switch, for instance switch 12, between the input line A.sub.0 and the output line B.sub.1. The switch 12 may be a thyristor, a transistor or a gate. It may be controlled either by external control signals or by special waveforms applied to the input and output lines, Once the switch 12 has been activated, the input line A.sub.0 is connected to the output line B.sub.1 by a low impedance path. Any switch which has not been turned on presents a high impedance and accordingly does not connect the row and column to which it is attached. The intersection between a row and column is called a cross-point and the switch at the cross-point is therefore referred to as a cross-point switch.
In FIG. 1, the cross-point switches are represented as diodes with the implication that data flow over the input and output lines occurs only in one direction, i.e. data flows from the input lines A.sub.0 -A.sub.7 to the output lines B.sub.0 -B.sub.7 and not in the opposite direction. However, it is possible to have bi-directional cross-point switches which allow data flow in both directions. Such a bi-directional switch can be represented as a pair of anti-parallel diodes, though it is to be understood that other types of switches can be used.
The switch represented in FIG. 1 is known as a two-sided switch. This means that lines on one side, e.g. A.sub.0 -A.sub.7, are connected to lines on another side of the switch, e.g. B.sub.0 -B.sub.7. Another type of switch is the one-sided switch in which the columns, B.sub.0 -B.sub.7 are not necessarily connected to external lines but serve only, in the simplest case, for internal connection. The one-sided switch serves to interconnect the lines on one side of the switch A.sub.0 -A.sub.7 to each other. This is accomplished by using one of the columns as an interconnecting line. For instance, the lines A.sub.0 and A.sub.2 can be interconnected by turning on bi-directional switches 12 and 14. With these switches activated, column B.sub.1 serves as an interconnecting line between rows A.sub.0 and A.sub.2. It is to be appreciated that any of the columns can be used for such an interconnection and therefore rather than activating switches 12 nd 14, other similar pairs such as switches 16 and 18 can be activated with the same effect.
For simplicity, it will be assumed that one line is connected to only one other line. It is to therefore be appreciated that if complete connectivity is to be attained between the eight lines A.sub.0 -A.sub.7, then only four columns, for instance, B.sub.0 -B.sub.3, are needed to provide the interconnection because one column is connected to two rows. This is known as a non-blocking configuration because no previously made connection blocks a subsequent connection.
Cross-point switches have a long history in the telephone industry. Until recently, the cross-points were provided by electro-mechanical switches. More recently, the switching array of FIG. 1 has been realized in integrated semiconductor form. Because of the miniaturization available in semiconductor integration, many more lines can be interconnected in a reasonably sized cross-point switch. However, it is obvious that as the number n of lines increases, the number of cross-points increases approximately as n.sup.2. For one-sided switches, this dependence is more precisely n.sup.2 /2. Thus, an eight-line one-sided cross-point switch requires 32 cross-points, a number very easily attainable, even in MSI level integrated circuits. But because of the geometric dependence, if 1,024 lines are desired to be interconnected, a total of 524,288 cross-points are required. This size array is very difficult to obtain in integrated circuit fabrication.
One method of reducing the size of the cross-point switching array is to divide the switch into cascaded sections such as described by Mansuetto et al. in U.S. Pat. No. 3,321,745. The first section is composed of smaller switching arrays, the outputs of which are separately connected to different secondary switching arrays. A refinement of this switching system is the subject of a U.S. patent application, Ser. No. 298,705, filed Sept. 2, 1981, by Melas et al and now issued as U.S. Pat. No. 4,417,245. In this system, the individual switches are square arrays and are cascaded into three sections. This system suffers several drawbacks. The inter-array wiring is irregular, the configuration requires that some lines are input lines, others are output lines and the configuration is blocking in some situations. Another type of three-section switch is the CLOS configuration. While this system is similar to that of Melas et al., it can be made non-blocking but at the expense of larger and non-square switching arrays.
An important consideration in cross-point switches and in semiconductor ICs in general is reliability. There is a seemingly unavoidable probability that one of the cross-points will fail. If one of the cross-points fails in an open position, i.e. it is stuck in a high impedance state, then full connectivity of the simple network cannot be assured because the failed cross-point will block the final connection. An open fail can however be compensated by providing one for or more extra columns so that if one cross-point is unavailable, then an operable substitute is always available. However, if the cross-point fails in the closed position, i.e. the cross-point is shorted, then a simple redundancy does not provide fault tolerance because the column and row connected by the cross-point are always connected.
The telephone industry has emphasized reliablity of their switching networks and many fault tolerant systems have been described. For instance, Pepping et al. in U.S. Pat. No. 4,146,749 describe a switching system in which a spare block of multiplexers/demultiplexers is included at the system level to assume duties of any of four blocks that has failed. Zaffignani et al. in U.S. Pat. No. 4,144,407 describe a switching system in which every component has a back-up. Mansuetto et al., referred to above, describe a fault-tolerant cross-point switch in which additional diodes are provided during fabrication. During the wiring phase, any failed diode can simply be avoided, with complete connection nonetheless possible. However, this is a static allocation scheme and does not provide tolerance for faults which develop during operation. Such post-assembly faults require dynamic allocation for convenient fault tolerance.